local lazy_keymaps = require('lin.plugs.conf.keymaps').lazy

return {
    {
        'jedrzejboczar/possession.nvim',
        opts = {
            commands = {
                save = 'SSave',
                load = 'SLoad',
                delete = 'SDelete',
                list = 'SList',
            }
        },
        cmd = { 'SSave', 'SLoad', 'SList' }
    },
    { 'mbbill/undotree',         cmd = 'UndotreeToggle' },
    {
        'kylechui/nvim-surround',
        opts = {
            keymaps = require('lin.plugs.conf.surround').surround_km_conf
        },
        keys = lazy_keymaps.surround
    },
    { 'windwp/nvim-autopairs',   event = 'InsertEnter',         opts = {} },
    { 'junegunn/vim-easy-align', keys = lazy_keymaps.easy_align },
    { 'MagicDuck/grug-far.nvim', opts = {} },
    {
        'ggandor/leap.nvim',
        config = function()
            vim.api.nvim_set_hl(0, 'LeapBackdrop', { link = 'Comment' })
        end,
        keys = lazy_keymaps.leap
    },
    {
        'smoka7/hop.nvim',
        opts = {
        },
        keys = lazy_keymaps.hop
    },
    {
        -- alternatives:
        -- https://github.com/rlane/pounce.nvim
        -- https://github.com/woosaaahh/sj.nvim
        'folke/flash.nvim',
        opts = {
            modes = {
                char = {
                    enabled = false
                },
                search = {
                    enabled = false
                }
            },
            jump = {
                autojump = true
            }
        },
        keys = lazy_keymaps.flash,
    },
}
